/**
 * @description 数据模型，入口文件
 * @author captern
 */
const User = require('./User')
const Blog = require('./Blog')
const UserRelation = require('./UserRelation')
const AtRelation = require('./AtRelation')

// 创建外键
Blog.belongsTo(User, {
  foreignKey: 'userId'
})

// User.hasMany(Blog)  一对多的

// 关注关系的外键
UserRelation.belongsTo(User, {
  foreignKey: 'followerId'
})
User.hasMany(UserRelation, {
  foreignKey: 'userId'
})

// 关联到关注列表
Blog.belongsTo(UserRelation, {
  foreignKey: 'userId', // 建立关系，数据库去看是失败，但是能够 继续使用查询的
  targetKey: 'followerId'
})

// 建立 @ 的外键关系
Blog.hasMany(AtRelation, {
  foreignKey: 'blogId'
})

module.exports = {
  User,
  Blog,
  UserRelation,
  AtRelation
}
